namespace Pinwheel.Kernel
{
    public interface IProcess
    {
        ServiceManager ServiceManager { get; }
        
        void Start();
        
        bool IsRunning { get; }
        
        void Stop();
        
        void Send(PID pid, string method, MessageType type, IMessage message);
    }
    
    public interface IWorkerProcess : IProcess
    {
        int CoreId { get; }
        
        Thread ProcessThread { get; }
        
        void Start();
    }
}